package group2.mapper;

import group2.model.OrderDetail;
import group2.model.OrderInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 李显星
 * @date 2020/8/17 15:13
 **/
@Repository
public interface OrderMapper {


    /**
     * 添加订单
     * @param order
     * @return
     */
    int insertOrder(OrderInfo order);


    /**
     * 添加订单详情
     * @param orderDetail
     */
    int insertOrderDetail(OrderDetail orderDetail);


    /**
     * 查询所有订单
     * @return
     */
    List<OrderInfo> selectAll();


    /**
     * 查询进行中的订单
     * @return
     */
    List<OrderInfo> selectOfProcessing();


    /**
     * 查询已完成的订单
     * @return
     */
    List<OrderInfo> selectOfFinish();


    /**
     * 查询已取消的订单
     */
    List<OrderInfo> selectCancel();


    /**
     * 按订单编号查询详情
     * @param orderId
     * @return
     */
    List<OrderDetail> selectOrderDetailById(@Param("orderId") String orderId);


    /**
     *查询最晚添加的订单的订单编号
     * @return
     */
    String selectOrderId();


    /**
     * 取消订单
     * @param orderId
     */
    int cancelOrder(@Param("orderId") String orderId);


    /**
     * 删除订单
     * @param orderId
     */
    int deleteOrder(@Param("orderId") String orderId);


    /**
     * 确认收货
     * @param orderId
     * @return
     */
    int confirmReceipt(@Param("orderId") String orderId);

}
